#include <iostream>
class base
{
public:
    virtual void iam(){
        std::cout << typeid(*this).name() << std::endl;
    }
};
class derived:public base
{
public:
    void iam(){
        std::cout << typeid(*this).name() << std::endl;
    }
};
int main()
{
    derived d;
    base* b = &d;
    b->iam();
}

            
